import http from './http'

export const authService = {
  // 用户注册
  register(data) {
    return http.post('/auth/register', data)
  },
  
  // 用户登录
  login(data) {
    return http.post('/auth/login', data)
  },
  
  // 用户登出
  logout() {
    return http.post('/auth/logout')
  },
  
  // 获取当前用户信息
  getCurrentUser() {
    return http.get('/auth/me')
  },
  
  // 更新当前用户信息
  updateCurrentUser(data) {
    return http.put('/auth/me', data)
  },
  
  // 修改密码
  changePassword(data) {
    return http.put('/auth/me/password', data)
  },
  
  // 管理员接口
  admin: {
    // 获取用户列表
    getUsers(params) {
      return http.get('/auth/users', { params })
    },
    
    // 创建用户
    createUser(data) {
      return http.post('/auth/users', data)
    },
    
    // 更新用户
    updateUser(userId, data) {
      return http.put(`/auth/users/${userId}`, data)
    },
    
    // 删除用户
    deleteUser(userId) {
      return http.delete(`/auth/users/${userId}`)
    },
    
    // 获取角色列表
    getRoles() {
      return http.get('/auth/roles')
    },
    
    // 获取角色的权限
    getRolePermissions(roleId) {
      return http.get(`/auth/roles/${roleId}/permissions`)
    },
    
    // 创建角色
    createRole(roleData) {
      return http.post('/auth/roles', roleData)
    },
    
    // 更新角色
    updateRole(roleId, roleData) {
      return http.put(`/auth/roles/${roleId}`, roleData)
    },
    
    // 删除角色
    deleteRole(roleId) {
      return http.delete(`/auth/roles/${roleId}`)
    },
    
    // 获取权限列表
    getPermissions() {
      return http.get('/auth/permissions')
    },
    
    // 创建权限
    createPermission(permissionData) {
      return http.post('/auth/permissions', permissionData)
    },
    
    // 更新权限
    updatePermission(permissionId, permissionData) {
      return http.put(`/auth/permissions/${permissionId}`, permissionData)
    },
    
    // 删除权限
    deletePermission(permissionId) {
      return http.delete(`/auth/permissions/${permissionId}`)
    }
  }
} 